home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 103 / SGDS 103.2mg / SDGS.103 / SDA103 / A / WORDCASTLE.PROG (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1990-03-16  |  9.4 KB  |  246 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 0  POKE 32,0: POKE 33,40
  2. 1  PRINT  CHR$(21)
  3. 2  CLEAR 
  4. 3 LD% = 0:NF = 0
  5. 4  LOMEM: 26112
  6. 5  DIM WD$(32),WA$(40),AL$(26),NU%(10),CA$(80),NW%(80),WF%(40),BA%(16,5),TUNE%(25,1),IW$(32)
  7. 8  ONERR  GOTO 20000
  8. 10  REM              HGR2
  9. 11  FOR I = 1 TO 40:U$ = U$ + CHR$(24 +32): NEXT I
  10. 12  HCOLOR= 7: HPLOT 0,184 TO 279,184: HCOLOR= 6: FOR I = 185 TO 191: HPLOT 0,I TO 279,I: NEXT I
  11. 13  HCOLOR= 0: COLOR= 0: GOSUB 1300
  12. 14  GOSUB 7000
  13. 15  ONERR  GOTO 25000
  14. 16  GOSUB 6100
  15. 17  ONERR  GOTO 20000
  16. 60 A$ = "Word Castle        ": VTAB 1: HTAB 1: FOR I = 1 TO  LEN(A$): PRINT  MID$ (A$,I,1);: POKE 768,8: POKE 769,4: CALL 770: NEXT I
  17. 62 A$ = "  (c) 1990 by Softdisk, Incorporated.  ": VTAB 2: HTAB 2: FOR I = 1 TO  LEN(A$): PRINT  MID$ (A$,I,1);: POKE 768,4: POKE 769,4: CALL 770: NEXT I
  18. 75  POKE 34,3: POKE 35,24: POKE 32,0: POKE 33,40: VTAB 1: HTAB 20: PRINT "            Main Menu"
  19. 76  HCOLOR= 6: HPLOT 0,18 TO 279,18
  20. 77  FOR I = 4 TO 23: VTAB I: HTAB 1: PRINT  SPC( 40);: NEXT I
  21. 80 V = 5:H = 5:WW = 30:WH = 16: GOSUB 1000
  22. 85  GOSUB 750
  23. 87  FOR I = 6 TO 19: VTAB I: HTAB 1: PRINT  SPC( 28): NEXT 
  24. 88  VTAB 6: HTAB 1
  25. 95  PRINT "You may do the following:"
  26. 97  PRINT : PRINT "View Spelling List": PRINT : PRINT "Play Word Castle": PRINT : PRINT "Make / Edit a Spelling List"
  27. 98  VTAB 15: HTAB 1: PRINT "Use arrow keys to choose": PRINT "and hit RETURN when choice": PRINT "is underlined."
  28. 99  PRINT :A = 1: PRINT "    Press ESC to quit."
  29. 100  COLOR= 3: VTAB 7 +A *2: HTAB 1: PRINT  LEFT$(U$,16 +(A = 3) *11 +(A = 1) *2): COLOR= 0
  30. 105  WAIT  -16384,128:A$ =  CHR$( PEEK( -16384) -128): POKE  -16368,0
  31. 110  IF A$ =  CHR$(8)  OR A$ =  CHR$(11)  THEN  VTAB 7 +A *2: HTAB 1: PRINT  SPC( 27):A = A -1: IF A <1  THEN A = 3
  32. 112  IF A$ =  CHR$(21)  OR A$ =  CHR$(10)  THEN  VTAB 7 +A *2: HTAB 1: PRINT  SPC( 27):A = A +1: IF A >3  THEN A = 1
  33. 115  IF A$ =  CHR$(27)  THEN  PRINT  CHR$(4)"bye"
  34. 120  IF A$ =  CHR$(13)  THEN 140
  35. 125  IF A$ < > CHR$(21)  AND A$ < > CHR$(8)  AND A$ < > CHR$(11)  AND A$ < > CHR$(10)  THEN  FOR I = 0 TO 10:SO =  PEEK( -16336): NEXT 
  36. 130  GOTO 100
  37. 140  ON A GOTO 4800,5000,500
  38. 500  GOSUB 8000
  39. 510  PRINT  CHR$(4)"-WORDCASTLE.EDIT"
  40. 750  REM  title
  41. 760  PRINT "  WORD CASTLE by Tom Hall"
  42. 765  PRINT 
  43. 770  PRINT : PRINT : PRINT "   (c) 1990 Softdisk Inc."
  44. 780  PRINT "    All rights reserved."
  45. 781  PRINT " Published on Softdisk #103"
  46. 782  PRINT "Subscriptions: (800)831-2694";
  47. 783  PRINT "  Changing this notice is": PRINT "       very illegal."
  48. 800  PRINT : PRINT : PRINT : PRINT "  Press a key to continue."
  49. 810  GET A$: RETURN 
  50. 1000  COLOR= 3: VTAB V: HTAB H: PRINT  CHR$(28 +32);: VTAB V +WH -1: HTAB H: PRINT  CHR$(29 +32);: VTAB V: HTAB H +WW -1: PRINT  CHR$(30 +32);: VTAB V +WH -1: HTAB H +WW -1: PRINT  CHR$(31 +32);: COLOR= 0
  51. 1010  IF WW >2  THEN  COLOR= 3: FOR I = 1 TO WW -2: VTAB V: HTAB H +I: PRINT  CHR$(24 +32);: VTAB V +WH -1: HTAB H +I: PRINT  CHR$(25 +32);: POKE 768,I *2: POKE 769,2: CALL 770: NEXT I: COLOR= 0
  52. 1020  IF WH >2  THEN  COLOR= 3: FOR I = 1 TO WH -2: VTAB V +I: HTAB H: PRINT  CHR$(26 +32);: VTAB V +I: HTAB H +WW -1: PRINT  CHR$(27 +32);: NEXT I: COLOR= 0
  53. 1025  POKE 34,V: POKE 32,H: POKE 35,V +WH -2: POKE 33,WW -2: VTAB V +1: HTAB 1: FOR I = 1 TO WH -2: PRINT  SPC( WW -2);: NEXT I: VTAB V +1: HTAB 1
  54. 1030  RETURN 
  55. 1300  FOR I = 810 TO 815: READ PP: POKE I,PP: NEXT I
  56. 1310  RETURN 
  57. 1320  DATA 169,32,32,0,112,96 
  58. 1400 NN = 25
  59. 1405  FOR I = 1 TO NN: IF TU%(I,0) = 0  THEN  FOR WA = 1 TO 200: NEXT : GOTO 1415
  60. 1407  IF  PEEK(49152) >127  THEN  POKE 49168,0: GOTO 1420
  61. 1410  POKE 768,TU%(I,0): POKE 769,TU%(I,1): CALL 770
  62. 1415  NEXT 
  63. 1420  FOR I = 4 TO 23: VTAB I: HTAB 1: PRINT  SPC( 40): NEXT I
  64. 1430  VTAB 5: PRINT "Your mission is to stop the Grunge!     The Grunge is a mean guy from outer     space that wants to build bases on      Earth.  You can stop him by guessing    words correctly.  If you guess the word"
  65. 1440  PRINT "before the Grunge builds the castle,    it will be destroyed and the Earth      will be safe!!  Otherwise, the Grunge   will zap your word!!  You must save the Earth, you brave person, you!!"
  66. 1443 ZZ = 99
  67. 1445  VTAB 16: HTAB 1: PRINT "Skill level(1-4) ":V = 16:H = 17: GOSUB 6000:SK = CH -48: IF SK <1  OR SK >4  THEN 1445
  68. 1447 ZZ = 0
  69. 1448  VTAB 16: HTAB 1: PRINT  SPC( 40)
  70. 1450  VTAB 16: HTAB 1: PRINT "Press RETURN to play Word Castle!":V = 16:H = 34: GOSUB 6000
  71. 1460  FOR I = 5 TO 16: VTAB I: HTAB 1: PRINT  SPC( 40): NEXT I: RETURN 
  72. 4800  POKE 34,3: POKE 35,24: POKE 32,0: POKE 33,40
  73. 4805  VTAB 1: HTAB 20: PRINT "   View Spelling List"
  74. 4810  FOR I = 4 TO 23: VTAB I: HTAB 1: PRINT  SPC( 40);: NEXT I
  75. 4830 V = 5:H = 5:WW = 30:WH = 13: GOSUB 1000
  76. 4840  IF NW = 0  THEN  VTAB 10: HTAB 10: PRINT "No list loaded.": FOR I = 1 TO 20: POKE 768,96: POKE 769,8: CALL 770: POKE 768,72: POKE 769,8: CALL 770: NEXT I: GOTO 4000
  77. 4850  PRINT "Spelling list: "FI$
  78. 4855  PRINT "ESC Aborts."
  79. 4860  VTAB 15: HTAB 1: PRINT "You get to see each word for": VTAB 16: HTAB 1: PRINT "five seconds."
  80. 4870  FOR I = 1 TO NW
  81. 4871 LW =  LEN(WA$(I))
  82. 4875  FOR MV = 28 TO 1  STEP  -1
  83. 4876  VTAB 12: HTAB MV: IF  PEEK(49152) = 155  THEN  POKE 49168,0: GOTO 75
  84. 4877  IF MV +LW >28  THEN  PRINT  LEFT$(WA$(I),29 -MV);: GOTO 4885
  85. 4880  PRINT WA$(I)" ";
  86. 4883  IF MV = 12  THEN  FOR O = 1 TO 15: POKE 768, RND(1) *50 +20: POKE 769,5: CALL 770: NEXT O
  87. 4885  POKE 768,191 -I: POKE 769,3: CALL 770: POKE 768,144 -I: POKE 769,3: CALL 770
  88. 4887  NEXT MV: FOR Q =  LEN(WA$(I)) TO 1  STEP  -1: VTAB 12: HTAB 1: PRINT  RIGHT$(WA$(I),Q)" ";: POKE 768,Q *10: POKE 769,8: CALL 770: NEXT Q
  89. 4888  VTAB 12: HTAB 1: PRINT " ": NEXT I
  90. 4890  GOTO 75
  91. 5000  POKE 32,0: POKE 33,40: FOR I = 4 TO 23: VTAB I: HTAB 1: PRINT  SPC( 40);: NEXT I
  92. 5005  IF FI$ = ""  THEN  VTAB 12: HTAB 12: PRINT "No spelling list!": FOR I = 1 TO 20: POKE 768,96: POKE 769,8: CALL 770: POKE 768,72: POKE 769,8: CALL 770: NEXT I: GOTO 4000
  93. 5010  VTAB 12: HTAB 8: PRINT "Here comes the Grunge..."
  94. 5015  GOSUB 1400
  95. 5035  VTAB 1: HTAB 21: PRINT "    Word Castle Game"
  96. 5040  VTAB 2: HTAB 1: PRINT " Guess word before Grunge builds base!": VTAB 5: HTAB 3: PRINT "WORD:" SPC( 20): VTAB 7: HTAB 3: PRINT "GUESSES:"
  97. 5043  VTAB 12: HTAB 8: PRINT  SPC( 25)
  98. 5045  REM 
  99. 5047  REM 
  100. 5050  REM  Nothing on this line.
  101. 5053 MS =  INT((100/((5 -SK) *5)) +.5): REM  number of block to draw at a time.
  102. 5055  FOR I = 1 TO 40:WF%(I) = 0: NEXT I: REM  Zero out Words Guessed array.
  103. 5056 ZW = 0: REM  ze word count
  104. 5060 WL = NW: REM Number of words left to guess.  Randomly chosen until last 5, because that can get abysmal.
  105. 5061  IF NW >40  THEN WL = 40
  106. 5065  FOR I = 12 TO 15: VTAB I: HTAB 1: PRINT  SPC( 28): NEXT I: VTAB 20: HTAB 2: PRINT  SPC( 29)
  107. 5066  VTAB 8: HTAB 3: PRINT  SPC( 26): VTAB 12: HTAB 3: PRINT "Type a letter for guess or": VTAB 13: HTAB 3: PRINT "whole word for word guess,"
  108. 5067 RW =  INT( RND(1) *NW +1)
  109. 5068  VTAB 14: HTAB 3: PRINT "then hit RETURN."
  110. 5069 BY = 16:BX = 0
  111. 5070  IF WF%(RW) = 1  AND WL >5  THEN 5067
  112. 5080  IF WF%(RW) < >1  THEN 5085
  113. 5082  FOR I = 1 TO NW: IF WF%(I) = 0  THEN RW = I: GOTO 5085
  114. 5083  VTAB 17: HTAB 13: PRINT "            "
  115. 5084  NEXT I: GOTO 5900: REM  No words left.
  116. 5085 NG = (5 -SK) *5: REM   Number of guesses left(used to draw level of castle)  
  117. 5086  VTAB 5: HTAB 8: PRINT  SPC( 32)
  118. 5087 MX = NG:WF%(RW) = 1: REM   can't use that one again.
  119. 5088 ZW = ZW +1: REM   increase word count
  120. 5090  REM   This loop puts word in word being guessed array.  It's easier to check an array of letters than a string.
  121. 5091  FOR I = 1 TO  LEN(WA$(RW))
  122. 5092 WD$(I) =  MID$ (WA$(RW),I,1): NEXT I
  123. 5093  VTAB 20: HTAB 3: PRINT  SPC( 26): VTAB 21: HTAB 3: PRINT  SPC( 26);
  124. 5095  FOR I = 1 TO 26:AL$(I) = " ": NEXT I
  125. 5096  FOR I = 5 TO 23: VTAB I: HTAB 31: PRINT "         ";: NEXT I
  126. 5099  FOR I = 1 TO 32:IW$(I) =  CHR$(17 +32): NEXT I: REM     Clears Incomplete Word array, which contains correct letters in their correct places.
  127. 5100  HCOLOR= 0: FOR I = 1 TO  LEN(WA$(RW)): COLOR= 0: VTAB 5: HTAB 7 +I: IF IW$(I) =  CHR$(49)  THEN  COLOR= 3
  128. 5101  PRINT IW$(I);: NEXT : COLOR= 0
  129. 5102  FOR I = 1 TO 26: VTAB 8: HTAB I +2: PRINT AL$(I);: NEXT I
  130. 5103  VTAB 17: HTAB 13: PRINT  SPC( 16)
  131. 5105  VTAB 17: HTAB 3: PRINT "ENTER NOW:";
  132. 5110 V = 17:H = 13:LW = 0:GW$ = ""
  133. 5112  VTAB 22: HTAB 1: PRINT "Word "ZW" of "NW"  "
  134. 5113  VTAB 23: HTAB 1: PRINT "Number of misses left:"NG" "
  135. 5115  GOSUB 6000
  136. 5117  IF CH = 27  THEN  VTAB V: HTAB H: PRINT " ":ZW = ZW -1: GOTO 5230
  137. 5120  IF LW >1  THEN  VTAB 18: HTAB 13: PRINT "(Word Guess)"
  138. 5125  IF LW <2  THEN  VTAB 18: HTAB 13: PRINT "            "
  139. 5126  IF LW >15  THEN LW = 15:GW$ =  LEFT$(GW$,LW):H = H -1: GOTO 5115
  140. 5127  IF CH = 13  AND LW = 0  THEN 5115
  141. 5130  IF CH = 13  THEN 5150
  142. 5135 GW$ = GW$ + CHR$(CH): GOTO 5115
  143. 5150 CG = 0: IF  LEN(GW$) >1  THEN 5180
  144. 5160  FOR I = 1 TO  LEN(WA$(RW)): IF GW$ = WD$(I)  THEN IW$(I) = GW$:CG = 1
  145. 5161  NEXT I: IF AL$( ASC(GW$) -64) < >" "  THEN  VTAB 20: HTAB 3: PRINT GW$" was already guessed.": POKE 768,240: POKE 769,240: CALL 770: FOR I = 1 TO 750: NEXT I: VTAB 20: HTAB 3: PRINT  SPC( 26): GOTO 5100
  146. 5162 AL$( ASC(GW$) -64) = GW$:DO = 0
  147. 5163  IF CG = 0  THEN  VTAB 20: HTAB 3: PRINT GW$" is not in the word.": FOR I = 1 TO 750: NEXT I: VTAB 20: HTAB 3: PRINT "                     ": GOTO 5300
  148. 5165  FOR I = 1 TO  LEN(WA$(RW)): IF IW$(I) =  CHR$(17 +32)  THEN DO = 1
  149. 5170  NEXT I
  150. 5173  IF DO = 0  THEN  VTAB 20: HTAB 2: PRINT "The word is "WA$(RW)"!": GOTO 5200
  151. 5175  GOTO 5100
  152. 5180  IF GW$ = WA$(RW)  THEN  VTAB 20: HTAB 2: PRINT "The word is "GW$"!": GOTO 5200
  153. 5185  VTAB 20: HTAB 3: PRINT "Sorry, that's not it.": FOR I = 1 TO 2000: NEXT I: VTAB 20: HTAB 3: PRINT "                     ": GOTO 5300
  154. 5200  FOR I = 1 TO 3: VTAB 5: HTAB 8: PRINT WA$(RW): POKE 768,144: POKE 769,8: CALL 770: POKE 768,128: POKE 769,8: CALL 770: POKE 768,72: POKE 769,16: CALL 770: VTAB 5: HTAB 8: PRINT  SPC(  LEN(WA$(RW))): NEXT I
  155. 5201  VTAB 8: HTAB 3: PRINT  SPC( 26): VTAB 12: HTAB 3: PRINT  SPC( 26): VTAB 13: HTAB 3: PRINT  SPC( 26): VTAB 14: HTAB 3: PRINT  SPC( 16)
  156. 5202  FOR I = 9 TO 36 - LEN(WA$(RW)): VTAB 5: HTAB I: PRINT " "WA$(RW): POKE 768,I *5: POKE 769,4: CALL 770: NEXT I
  157. 5205  FOR I = 206 TO 230: HCOLOR= 5: HPLOT I,40 TO I,183: HPLOT 458 -I,40 TO 458 -I,183: POKE 768,4 + RND(1) *5: POKE 769,3: CALL 770: HCOLOR= 4: HPLOT I,40 TO I,183: HPLOT 458 -I,40 TO 458 -I,183: NEXT I
  158. 5207  HCOLOR= 0: COLOR= 0
  159. 5210  VTAB 7: HTAB 32: PRINT "The": VTAB 8: HTAB 32: PRINT "Grunge's": VTAB 9: HTAB 32: PRINT "base": VTAB 10: HTAB 32: PRINT "is": VTAB 11: HTAB 32: PRINT "zapped!"
  160. 5220  FOR I = 240 TO 44  STEP 2: POKE 768,I: POKE 769,3: CALL 770: NEXT I: POKE 768,44: POKE 769,255: CALL 770
  161. 5230 V = 12:H = 1:WW = 28:WH = 4: GOSUB 1000: PRINT "Hit RETURN for more words,";: PRINT "ESC to exit game.": POKE 34,2: POKE 35,23: POKE 32,0: POKE 33,40
  162. 5235 V = 14:H = 19: GOSUB 6000: IF CH = 13  THEN 5065
  163. 5240  IF CH = 27  THEN 62
  164. 5250  GOTO 5235
  165. 5300  FOR I = 1 TO MS
  166. 5310  COLOR= 3: FOR A = 18 TO 20: VTAB BY +6: HTAB BX +31: PRINT  CHR$(A +32): NEXT : POKE 768,144: POKE 769,2: CALL 770: POKE 768,96: POKE 769,2: CALL 770: COLOR= 0
  167. 5320  COLOR= 3: VTAB BY +7: HTAB BX +31: PRINT  CHR$(BA%(BY,BX) +32);: VTAB BY +6: HTAB BX +31: COLOR= 0: PRINT " "
  168. 5323 BX = BX +1: IF BX = 6  THEN BY = BY -1:BX = 0
  169. 5324  IF (BY = 0  AND BX = 4)  THEN 5340
  170. 5325  NEXT I:NG = NG -1
  171. 5330  IF NG > = 0  THEN  GOTO 5100
  172. 5340  VTAB 8: HTAB 3: PRINT  SPC( 26): VTAB 12: HTAB 3: PRINT  SPC( 26): VTAB 13: HTAB 3: PRINT  SPC( 26): VTAB 14: HTAB 3: PRINT  SPC( 16)
  173. 5341  COLOR= 3: FOR I = 7 TO 6  STEP  -1: VTAB I -1: HTAB 33: PRINT  CHR$(21 +32) CHR$(22 +32): VTAB I: HTAB 33: PRINT  CHR$(27 +32) CHR$(26 +32): POKE 768,240: POKE 769,8: CALL 770: NEXT I: COLOR= 0
  174. 5345  HCOLOR= 5: HPLOT 224,33 TO (6 + LEN(WA$(RW))) *7,33: POKE 768,32: POKE 769,255: CALL 770: HCOLOR= 4: HPLOT 224,33 TO (6 + LEN(WA$(RW))) *7,33
  175. 5347  HCOLOR= 0: COLOR= 0
  176. 5350  FOR I = 1 TO  LEN(WA$(RW)): VTAB 5: HTAB 7 +I: PRINT WD$(I);: POKE 768,I *5 +40: POKE 769,4: CALL 770: NEXT I
  177. 5360  GOTO 5220
  178. 5900 V = 5:H = 5:WW = 30:WH = 13: GOSUB 1000: VTAB 6: HTAB 7: PRINT "There are no words left!": VTAB 16: HTAB 7: PRINT "Hit a key to go to Menu.": POKE  -16368,0:V = 16:H = 31: GOSUB 6000: GOTO 4000
  179. 6000  POKE  -16368,0
  180. 6004 CH = 18:AD = 1
  181. 6005  COLOR= 3: VTAB V: HTAB H: PRINT  CHR$(CH +32): COLOR= 0
  182. 6007  IF LW <2  THEN  VTAB 18: HTAB 13: PRINT "              "
  183. 6010  IF CH = 18  THEN AD = 1
  184. 6015  IF CH = 20  THEN AD =  -1
  185. 6020 CH = CH +AD
  186. 6030  FOR I = 1 TO 5: IF  PEEK( -16384) <128  THEN  NEXT : GOTO 6005
  187. 6033 CH =  PEEK(49152) -128: POKE 49168,0
  188. 6034  IF CH = 127  THEN 6037
  189. 6035  IF CH > ASC("Z")  THEN CH = CH -32
  190. 6037  IF ZZ = 99  AND (CH >48  AND CH <53)  THEN  VTAB V: HTAB H: PRINT  CHR$(CH): RETURN 
  191. 6040  IF (CH <91  AND CH >64)  THEN  VTAB V: HTAB H: PRINT  CHR$(CH):H = H +1:LW = LW +1: RETURN 
  192. 6045  IF (CH = 8  OR CH = 127)  AND LW <2  THEN GW$ = ""
  193. 6046  IF (CH = 8  OR CH = 127)  AND LW >1  THEN GW$ =  LEFT$(GW$, LEN(GW$) -1)
  194. 6047  IF (CH = 8  OR CH = 127)  AND LW >0  THEN  VTAB V: HTAB H: PRINT " ":H = H -1:LW = LW -1
  195. 6050  IF CH = 13  OR CH = 27  THEN  RETURN 
  196. 6055  POKE 768,96: POKE 769,3: CALL 770
  197. 6060  GOTO 6004
  198. 6099  REM  Load word array from disk
  199. 6100  PRINT  CHR$(4)"OPEN CURRENTLISTNAME"
  200. 6110  PRINT  CHR$(4)"READ CURRENTLISTNAME"
  201. 6120  INPUT NX$
  202. 6130  PRINT  CHR$(4)"CLOSE CURRENTLISTNAME"
  203. 6135 FI$ = NX$
  204. 6140  PRINT  CHR$(4)"OPEN "NX$
  205. 6150  PRINT  CHR$(4)"READ "NX$
  206. 6160  INPUT NW
  207. 6170  FOR I = 1 TO NW: INPUT WA$(I): NEXT I
  208. 6180  PRINT  CHR$(4)"CLOSE "NX$
  209. 6190  RETURN 
  210. 7000  FOR I = 1 TO 25: READ TU%(I,0): READ TU%(I,1): NEXT I
  211. 7005  FOR I = 0 TO 16: FOR J = 0 TO 5: READ BA%(I,J): NEXT J,I: RETURN 
  212. 7007  DATA  171,40,171,40,171,40,171,40,144,40,144,40,144,40,144,40,161,40,161,40,161,40,161,40,171,40,171,40,171,40,171,40,108,15,108,15,108,15,96,80,128,40,128,40,128,40,116,40,108,255
  213. 7010  DATA 5,5,21,22,5,5,23,5,23,23,5,23,23,23,23,23,23,23,23,23,23,23,23,23
  214. 7020  DATA 5,23,23,23,23,5,5,23,23,23,23,5,5,23,23,23,23,5,5,23,23,23,23,5,5,23,23,23,23,5,5,23,23,23,23,5
  215. 7030  DATA 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,28,30,23,23,23,23,26,27,23,23
  216. 7999  REM <CTRL-0x0a>say one moment
  217. 8000  POKE 32,0: POKE 33,40: POKE 34,2: POKE 35,24:V = 11:H = 14:WW = 12:WH = 3: GOSUB 1000: POKE 34,2: POKE 35,23: POKE 32,0: POKE 33,40: VTAB 12: HTAB 15: PRINT "One moment";: RETURN 
  218. 9998  REM  DRAWS WHOLE CASTLE (TEST)
  219. 9999  COLOR= 3: FOR I = 0 TO 16: FOR J = 0 TO 5: VTAB I +7: HTAB J +31: PRINT  CHR$(BA%(I,J) +32);: NEXT J,I: COLOR= 0
  220. 10000  END 
  221. 20000  REM  error
  222. 20010  POKE 216,0
  223. 20020  TEXT : HOME : PRINT "THERE WAS AN ERROR."
  224. 20025  PRINT "(IN LINE " PEEK(218) + PEEK(219) *256".)"
  225. 20030  PRINT : PRINT "PRESS A KEY FOR SOFTDISK."
  226. 20040  GET A$: PRINT  CHR$(4)"bye"
  227. 25000  POKE 216,0
  228. 25010  PRINT  CHR$(4)"CLOSE"
  229. 25020  HOME 
  230. 25030  POKE 32,0: POKE 33,40
  231. 25040  FOR I = 1 TO 22: VTAB I: HTAB 1: PRINT  SPC( 40): NEXT 
  232. 25050  VTAB 2: PRINT "There was an error with your word file."
  233. 25060  PRINT : PRINT "You will have to check the following:"
  234. 25065  PRINT 
  235. 25070  PRINT "  1.  The current list file is on the         disk.
  236. 25080  PRINT : PRINT "  2.  The current list file is error-         free."
  237. 25090  PRINT : PRINT : PRINT "Press any key to go to the Grunge Editor"
  238. 25100  PRINT : PRINT "(You can edit the current list name      along with the word list there.)
  239. 25110  POKE 49168,0
  240. 25120  GET A$
  241. 25125  GOSUB 8000
  242. 25130  PRINT  CHR$(4)"-WORDCASTLE.EDIT"
  243. 60000  HGR2 : HCOLOR= 6: HPLOT 140,80: CALL 62454: VTAB 12: HTAB 10: PRINT "Hit any key to boot"
  244. 60005  POKE  -16368,0
  245. 60010  REM  GETA$:PR#6
  246. 60020  GOTO 60020